import Vue from 'vue'
import Vuex from 'vuex'
import { user } from '@/api/login'
Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    // 是否登录
    isLogin: false,
    // 用户信息
    userInfo: null,
    // 当前问答详情包装对象(点赞数,评论数和收藏数),hahahah
    questionObj: null
  },
  mutations: {
    setIsLogin (state, value) {
      state.isLogin = value
    },
    setUserInfo (state, value) {
      state.userInfo = value
    },
    setQuestionObj (state, value) {
      state.questionObj = value
    }
  },
  actions: {
    async refreshUserInfoAsync () {
      return user()
    },
    // 刷新用户信息
    refreshUserInfo (store) {
      // 修改成功后重新获取用户信息更新到vuex
      user().then(res => {
        store.commit('setUserInfo', res.data)
        // 修改登陆状态
        store.commit('setIsLogin', true)
      })
    }
  },
  modules: {}
})
